chore(camel-test-infra-keycloak): upgrade keycloak.container to 26.6.2#23356
Conversation
apupier
left a comment
There was a problem hiding this comment.
locally I have test failures:
[�[1;31mERROR�[m] �[1;31mTests �[0;1mrun: �[0;1m16�[m, �[1;31mFailures: �[0;1;31m5�[m, �[1;31mErrors: �[0;1;31m3�[m, Skipped: 0, Time elapsed: 16.95 s�[1;31m <<< FAILURE!�[m -- in org.apache.camel.component.keycloak.security.�[1mKeycloakTokenIntrospectionIT�[m
[�[1;31mERROR�[m] org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testTokenIntrospectionWithValidToken -- Time elapsed: 0.109 s <<< FAILURE!
org.opentest4j.AssertionFailedError: Token should be active ==> expected: <true> but was: <false>
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:232)
at org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testTokenIntrospectionWithValidToken(KeycloakTokenIntrospectionIT.java:362)
[�[1;31mERROR�[m] org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testTokenIntrospectionCaching -- Time elapsed: 0.061 s <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:190)
at org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testTokenIntrospectionCaching(KeycloakTokenIntrospectionIT.java:409)
[�[1;31mERROR�[m] org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testSecurityPolicyWithIntrospection -- Time elapsed: 0.051 s <<< ERROR!
org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[11937C691FD201C-0000000000000000]
at org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:60)
at org.apache.camel.support.ExchangeHelper.extractResultBody(ExchangeHelper.java:704)
at org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:594)
at org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:590)
at org.apache.camel.impl.engine.DefaultProducerTemplate.requestBodyAndHeader(DefaultProducerTemplate.java:432)
at org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testSecurityPolicyWithIntrospection(KeycloakTokenIntrospectionIT.java:426)
Caused by: org.apache.camel.CamelAuthorizationException: Token is not active (may be revoked or expired). Exchange[]
at org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validateRoles(KeycloakSecurityProcessor.java:231)
at org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.beforeProcess(KeycloakSecurityProcessor.java:63)
at org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.process(KeycloakSecurityProcessor.java:50)
at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:65)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.handleFirst(RedeliveryErrorHandler.java:445)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:421)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:202)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:192)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:169)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:143)
at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:162)
at org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:385)
at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:361)
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:103)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor.processNonTransacted(SharedCamelInternalProcessor.java:156)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:133)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:89)
at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:81)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86)
at org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:180)
at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:175)
at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:171)
at org.apache.camel.impl.engine.DefaultProducerTemplate.requestBodyAndHeader(DefaultProducerTemplate.java:430)
... 1 more
[�[1;31mERROR�[m] org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testSecurityPolicyIntrospectionVsLocalValidation -- Time elapsed: 0.051 s <<< ERROR!
org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[809C16C869AAC6E-0000000000000000]
at org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:60)
at org.apache.camel.support.ExchangeHelper.extractResultBody(ExchangeHelper.java:704)
at org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:594)
at org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:590)
at org.apache.camel.impl.engine.DefaultProducerTemplate.requestBodyAndHeader(DefaultProducerTemplate.java:432)
at org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testSecurityPolicyIntrospectionVsLocalValidation(KeycloakTokenIntrospectionIT.java:453)
Caused by: org.apache.camel.CamelAuthorizationException: Token is not active (may be revoked or expired). Exchange[]
at org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validateRoles(KeycloakSecurityProcessor.java:231)
at org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.beforeProcess(KeycloakSecurityProcessor.java:63)
at org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.process(KeycloakSecurityProcessor.java:50)
at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:65)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.handleFirst(RedeliveryErrorHandler.java:445)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:421)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:202)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:192)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:169)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:143)
at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:162)
at org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:385)
at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:361)
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:103)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor.processNonTransacted(SharedCamelInternalProcessor.java:156)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:133)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:89)
at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:81)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86)
at org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:180)
at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:175)
at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:171)
at org.apache.camel.impl.engine.DefaultProducerTemplate.requestBodyAndHeader(DefaultProducerTemplate.java:430)
... 1 more
[�[1;31mERROR�[m] org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testSecurityPolicyIntrospectionWithoutCache -- Time elapsed: 0.047 s <<< ERROR!
org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[DC0956AC44AE534-0000000000000000]
at org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:60)
at org.apache.camel.support.ExchangeHelper.extractResultBody(ExchangeHelper.java:704)
at org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:594)
at org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:590)
at org.apache.camel.impl.engine.DefaultProducerTemplate.requestBodyAndHeader(DefaultProducerTemplate.java:432)
at org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testSecurityPolicyIntrospectionWithoutCache(KeycloakTokenIntrospectionIT.java:476)
Caused by: org.apache.camel.CamelAuthorizationException: Token is not active (may be revoked or expired). Exchange[]
at org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validateRoles(KeycloakSecurityProcessor.java:231)
at org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.beforeProcess(KeycloakSecurityProcessor.java:63)
at org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.process(KeycloakSecurityProcessor.java:50)
at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:65)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.handleFirst(RedeliveryErrorHandler.java:445)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:421)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:202)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:192)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:169)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:143)
at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:162)
at org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:385)
at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:361)
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:103)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor.processNonTransacted(SharedCamelInternalProcessor.java:156)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:133)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:89)
at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:81)
at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86)
at org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:180)
at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:175)
at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:171)
at org.apache.camel.impl.engine.DefaultProducerTemplate.requestBodyAndHeader(DefaultProducerTemplate.java:430)
... 1 more
[�[1;31mERROR�[m] org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testRoleExtractionFromIntrospection -- Time elapsed: 0.048 s <<< FAILURE!
org.opentest4j.AssertionFailedError: Should extract roles from introspection result ==> expected: <true> but was: <false>
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:232)
at org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testRoleExtractionFromIntrospection(KeycloakTokenIntrospectionIT.java:513)
[�[1;31mERROR�[m] org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testCaffeineCacheWithValidToken -- Time elapsed: 0.056 s <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:190)
at org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testCaffeineCacheWithValidToken(KeycloakTokenIntrospectionIT.java:557)
[�[1;31mERROR�[m] org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testCaffeineCachePerformance -- Time elapsed: 0.073 s <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:190)
at org.apache.camel.component.keycloak.security.KeycloakTokenIntrospectionIT.testCaffeineCachePerformance(KeycloakTokenIntrospectionIT.java:602)
|
This should be related to the last fix. Let me double check. |
|
Update keycloak.container from 26.6.1 to 26.6.2
of issued tokens, ensuring that when the same client performs token introspection, the validation passes. this is now required https://www.keycloak.org/docs/latest/upgrading/index.html#token-introspection-now-validates-audience-claim ``` Token introspection now validates audience claim The OAuth2 token introspection endpoint now validates that the authenticated client is present in the token’s audience (aud) claim before allowing introspection. Previously, any authenticated client could introspect any valid token. Now, the introspection endpoint returns {"active": false} if the authenticated client is not in the token’s audience ``` Co-authored-by: IBM Bob IDE 1.0.2 Signed-off-by: Aurélien Pupier <apupier@ibm.com>
7b4216e to
f168422
Compare
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
🧪 CI tested the following changed modules:
All tested modules (10 modules)
|
|
I'm wondering if we should not provide this kind of configuration by default inside the component itself, rather than just on the test side. maybe here org.apache.camel.component.keycloak.KeycloakProducer.createClient(Keycloak, Exchange) But given that it could different type of authentication, maybe we cannot really. |
This could interesting to do, but we should also look at the keycloak instance verrsion. |
This PR updates the
keycloak.containercontainer image to version26.6.2.Update Details
keycloak.containermirror.gcr.io/keycloak/keycloak/home/runner/work/camel/camel/test-infra/camel-test-infra-keycloak/src/main/resources/org/apache/camel/test/infra/keycloak/services/container.properties26.6.126.6.2Verification
Please verify:
Run the following to rebuild the test infra:
Then test the impacted components.
This PR was automatically created by the Container Version Upgrade workflow.